package lbj.cyw.dp;
/*
* 300. 最长递增子序列
*
* 当觉得代码逻辑没有问题但是结果错误时, 自己走一遍看看是不是初始化的问题, 有时候初始化不知要出事前几个值, 而是整个数组都要初始化
*
* */
public class LengthOfLIS300 {
    public int lengthOfLIS(int[] nums) {
        if(nums.length==1){
            return 1;
        }
        int n=nums.length;
        int[] dp=new int[n];
        dp[0]=1;
        int max=0;
        for(int i=1;i<n;i++){
            dp[i]=1;
            for(int j=0;j<i;j++){
                if(nums[j]<nums[i]) {
                    dp[i] = Math.max(dp[j] + 1, dp[i]);
                }
            }
            max=Math.max(max,dp[i]);
        }
        return max;
    }
}
